package com.ys.entity.base;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TB_UserTaxRate", catalog="Id")
public class TbUserTaxRate extends BaseEntity<TbUserTaxRate> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="TaxManageId", nameJava="taxManageId", typeDataBase="bigint")
	private Long taxManageId;
	@YsField(nameDataBase="GearNo", nameJava="gearNo", typeDataBase="int")
	private Integer gearNo;
	@YsField(nameDataBase="YearTaxMin", nameJava="yearTaxMin", typeDataBase="decimal")
	private BigDecimal yearTaxMin;
	@YsField(nameDataBase="YearTaxMax", nameJava="yearTaxMax", typeDataBase="decimal")
	private BigDecimal yearTaxMax;
	@YsField(nameDataBase="TaxRate", nameJava="taxRate", typeDataBase="decimal")
	private BigDecimal taxRate;
	@YsField(nameDataBase="DeductNum", nameJava="deductNum", typeDataBase="decimal")
	private BigDecimal deductNum;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TbUserTaxRate setId(Long id) {
		this.id = id;
		return this;
	}
	public Long getTaxManageId() {
		return taxManageId;
	}
	public TbUserTaxRate setTaxManageId(Long taxManageId) {
		this.taxManageId = taxManageId;
		return this;
	}
	public Integer getGearNo() {
		return gearNo;
	}
	public TbUserTaxRate setGearNo(Integer gearNo) {
		this.gearNo = gearNo;
		return this;
	}
	public BigDecimal getYearTaxMin() {
		return yearTaxMin;
	}
	public TbUserTaxRate setYearTaxMin(BigDecimal yearTaxMin) {
		this.yearTaxMin = yearTaxMin;
		return this;
	}
	public BigDecimal getYearTaxMax() {
		return yearTaxMax;
	}
	public TbUserTaxRate setYearTaxMax(BigDecimal yearTaxMax) {
		this.yearTaxMax = yearTaxMax;
		return this;
	}
	public BigDecimal getTaxRate() {
		return taxRate;
	}
	public TbUserTaxRate setTaxRate(BigDecimal taxRate) {
		this.taxRate = taxRate;
		return this;
	}
	public BigDecimal getDeductNum() {
		return deductNum;
	}
	public TbUserTaxRate setDeductNum(BigDecimal deductNum) {
		this.deductNum = deductNum;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TbUserTaxRate setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TbUserTaxRate setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TbUserTaxRate setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TbUserTaxRate tbUserTaxRate(
		Long taxManageId,
		Integer gearNo,
		BigDecimal yearTaxMin,
		BigDecimal yearTaxMax,
		BigDecimal taxRate,
		BigDecimal deductNum,
		Integer status
			) {
		TbUserTaxRate entity = new TbUserTaxRate();
		entity.setTaxManageId(taxManageId);
		entity.setGearNo(gearNo);
		entity.setYearTaxMin(yearTaxMin);
		entity.setYearTaxMax(yearTaxMax);
		entity.setTaxRate(taxRate);
		entity.setDeductNum(deductNum);
		entity.setStatus(status);
		return entity;
	}
}